As more and more business critical applications are being deployed on virtualized, shared infrastructure, there has been a trend towards using clustered network storage systems to improve reliability. In a clustered storage system, two or more cluster nodes are connected in a distributed architecture such that the cluster nodes operate in a coordinated manner to respond to host requests. Each cluster node may be a storage controller, although may be implemented using a distributed architecture. Two or more cluster nodes are typically connected to form a cluster, where each of the cluster nodes in the cluster can communicate with the other cluster nodes in the cluster.
A clustered architecture allows convenient scaling through the addition of more cluster nodes, all capable of communicating with each other. Further, a storage cluster may present a single system image of stored data to hosts and administrators, such that the actual location of data can be made transparent to hosts and administrators. However, as the number of nodes increases, maintaining a consistent single cluster configuration across the cluster nodes of the cluster becomes a challenge as management and control operations may be performed on multiple nodes simultaneously. Thus the consistency of the cluster configuration becomes at risk, especially when communications between cluster nodes begins to experience intermittent failures. It is with respect to these and other considerations that the present improvements have been needed.